Skip to main content

API Blueprint

API Blueprint is a markdown-based API description language designed to document REST APIs in a human-readable and machine-parsable format.

  • Created by Apiary
  • Uses Markdown + structured syntax
  • Emphasizes design-first API development
  • Strong focus on clear documentation and discoverability

Role in Documentation & Discoverability

Documentation

API Blueprint acts as:

  • Executable documentation
  • Living reference for API behavior
  • A readable contract between frontend and backend teams

Features:

  • Clear endpoint descriptions
  • Request/response examples
  • Status codes and headers
  • Markdown readability

Discoverability

Developers can:

  • Read API docs like a tutorial
  • Understand API usage through examples
  • Discover endpoints without tooling knowledge

API Blueprint prioritizes clarity for humans first, machines second.

Key Concepts in API Blueprint

ConceptDescription
ResourceAPI endpoint (e.g., /users)
ActionHTTP method (GET, POST)
RequestRequest payload
ResponseResponse payload
Data StructuresReusable models

API Blueprint Example

Example: User Management API

API Blueprint Document

FORMAT: 1A
HOST: https://api.example.com/v1

# User Management API

API for managing users.

## Users Collection [/users]

### List all users [GET]

Returns a list of all users.

+ Response 200 (application/json)

[
{
"id": 1,
"name": "John Doe",
"email": "john@example.com"
}
]

### Create a new user [POST]

Creates a new user.

+ Request (application/json)

{
"name": "Jane Doe",
"email": "jane@example.com"
}

+ Response 201 (application/json)

{
"id": 2,
"name": "Jane Doe",
"email": "jane@example.com"
}

## User [/users/{id}]

+ Parameters
+ id: 1 (number) - Unique user ID

### Get user by ID [GET]

Returns a single user.

+ Response 200 (application/json)

{
"id": 1,
"name": "John Doe",
"email": "john@example.com"
}

+ Response 404

User not found

Explanation of API Blueprint Sections

FORMAT & HOST

FORMAT: 1A
HOST: https://api.example.com/v1

Defines the API Blueprint version and base URL.

Resource Grouping

## Users Collection [/users]
  • Defines a resource
  • Improves logical discoverability

Actions

### List all users [GET]
  • Action name + HTTP method
  • Natural language description

Requests & Responses

+ Request (application/json)
+ Response 200 (application/json)
  • Clear examples
  • No ambiguity for consumers

Strengths & Limitations of API Blueprint

Strengths

  • Extremely readable
  • Markdown-friendly
  • Great for tutorials
  • Excellent discoverability

Limitations

  • Less strict validation
  • Smaller ecosystem
  • Limited tooling compared to OpenAPI